import axios from "axios";
import router from "@/router/index.js";
import { ElNotification } from "element-plus";
// 书写公共的服务器地址
axios.defaults.baseURL = "http://118.178.238.19:3001";
// 给请求头中设置 安全唯一标识token数据
let token = localStorage.getItem("token");
// 需要加入判断，保证有token才去设置
axios.defaults.headers.token = token;
// axios.defaults.headers.post["Content-Type"] = "application/x-www-form-urlencoded";



// 拦截器
// 添加请求拦截器
// 请求拦截器代表的是数据发送请求的时候拦截
axios.interceptors.request.use(
    function(config){
        // 这个发送请求写在了main.js中
        // 判断有没有token
        // 第一个判断 判断有没有token ，没有的话 需要跳转到登录页面
        // config.headers.token 请求头里有没有token 
        // config.url.includes('login')  检测url有没有登录 includes 检测（包括）
        // if(!config.headers.token && !config.url.includes('login')) {
            // 没有的话 跳转到登录页面
        //     router.push('/login')
        //     return
        // }
        // 在发送请求之前做什么 做上面的步骤
        return config
    },
    function(error){
        // 请求错误做什么
        return Promise.reject(error)
    }
)
// 添加相应拦截器
// 就是请求完响应回来的时候要做什么
axios.interceptors.response.use(
    function(response){
        if(response.data.code == 200){
            ElNotification({
                type: "success",
                message: response.data.message,
              })
        }else {
            ElNotification({
              type: "error",
              message: response.data.message,
            });
          }
        // 拦截之后，处理完相关逻辑，需要返回 放心
        return response
    },
    function (error){
        return Promise.reject(error)
    }
)
export default axios;
